User interfaces for handheld devices and other devices that utilize a small form factor for a data keypad or touch pad interface are becoming more and more prominent in the electronics marketplace. The small form factor associated with the keypad or touch pad interface has resulted in a user interface where multiple functions are associated with each key of the keypad or touch pad interface. Each key is typically assigned multiple entry modes and multiple character possibilities for each entry mode. For example, FIG. 1 illustrates an exemplary input key for such a user interface. As can be seen from FIG. 1, input key 102 may be used to enter two different modes of characters. Both alpha-mode and numeric-mode characters may be entered with input key 102. For the alpha mode, three alpha characters, the letters “a,” “b,” and “c,” may be entered. For the numeric mode data entry, the numeral “2” may be entered. As user interfaces that use smaller form factors for data entry become denser through the provisioning of more user modes, the number of modes and character availability will also increase.
Unfortunately, traditional multi-function keys associated with these small form factor devices require multiple key presses to iterate through the available characters for each mode of data entry. These “multi-tap” keys require a user to press and release an input key, such as input key 102, for each character selection. Further, when a user wishes to enter multiple characters associated with the same input key 102, the user must wait a specified, and usually lengthy, debounce period between each sequential depression of input key 102. This debounce period is typically long enough to allow a user to depress and release the multi-tap keys without accepting a new character input for each depression of input key 102 so that the user may repeatedly tap the input key to iterate through the character choices. Unfortunately, this debounce period is often so long that when a user wishes to enter multiple characters associated with the same multi-tap key, the user must wait the entire debounce period in order to preserve a character selection. If the user does not wait long enough and presses the key again, the user interface cycles to the next character in the sequence instead of preserving the last character entered. The user then has to iterate through all available characters again in order to select the desired character for the current position in the input sequence. The user must then wait another debounce period before depressing the multi-tap key again in order to begin entry for the next character in the input character sequence. This proves to be a burdensome arrangement often frustrating character entry.
Some interfaces allow the user to press and hold a key to alternate between alpha entry modes and numeric entry modes. This is unsatisfactory because it still requires the user to enter a multi-tap input mode in order to iterate through the available characters for a given mode of input.
Predictive text entry uses a dictionary lookup feature coupled with a multi-tap character selection. Predictive text entry has become popular but is plagued by user confusion as users attempt to determine when to deviate from multi-tap entry mode and search a dictionary for the correct word based upon a few characters entered. Though training the devices may be possible, words that users enter in the dictionary still may only be accessible when the user transitions from a multi-tap entry mode to a dictionary lookup mode. This transition from a multi-tap entry mode to a dictionary lookup mode tends to break a user's train of thought and slows the data entry. Likewise, as word databases grow, users will have more selections to choose from within the dictionary and may be burdened with a longer lookup time than an alternative data entry time.
Because of the problems described above, traditional systems for multi-function keypad entry are complex and force a user to conform to limitations of the user interface. Accordingly, in light of these difficulties associated with conventional multi-character multi-mode data entry, there exists a need for improved methods, systems, and computer program products for iteratively providing feedback via a user interface for multi-character, multi-mode alphanumeric data entry.